package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.ProjectFile;

/**
 * 项目文件Service接口
 * 
 * @author zhaonz
 * @date 2023-06-02
 */
public interface IProjectFileService extends IService<ProjectFile>
{
    /**
     * 查询项目文件列表
     *
     * @param projectFile 项目文件
     * @return 项目文件集合
     */
    public List<ProjectFile> list(ProjectFile projectFile);

    /**
     * 查询项目文件
     *
     * @param fileId 项目文件主键
     * @return 项目文件
     */
    public ProjectFile selectProjectFileByFileId(Long fileId);

    /**
     * 查询项目文件列表
     *
     * @param projectFile 项目文件
     * @return 项目文件集合
     */
    public List<ProjectFile> selectProjectFileList(ProjectFile projectFile);

    /**
     *
     * @param projectFile
     * @return
     */
    public boolean batchSave(List<ProjectFile> projectFile);
    /**
     * 新增项目文件
     *
     * @param projectFile 项目文件
     * @return 结果
     */
    public int insertProjectFile(ProjectFile projectFile);

    /**
     * 修改项目文件
     *
     * @param projectFile 项目文件
     * @return 结果
     */
    public int updateProjectFile(ProjectFile projectFile);

    /**
     * 批量删除项目文件
     * 
     * @param fileIds 需要删除的项目文件主键集合
     * @return 结果
     */
    public int removeByIds(String fileIds);

    /**
     * 批量删除项目文件
     *
     * @param fileIds 需要删除的项目文件主键集合
     * @return 结果
     */
    public int deleteProjectFileByFileIds(String fileIds);

    /**
     * 删除项目文件信息
     *
     * @param fileId 项目文件主键
     * @return 结果
     */
    public int deleteProjectFileByFileId(Long fileId);

    /**
     *
     * @param param
     * @param list
     * @return
     * @throws Exception
     */
    public boolean uploadFiles(Map<String, Object> param, List<ProjectFile> list) throws Exception;
}
